#include <57header.h>

/* Usage: ./05_dup2demo filename */
int main(int argc, char *argv[]){
    ARGS_CHECK(argc, 2);
    printf("数着一圈圈年轮.\n");
    int fd = open(argv[1], O_RDWR);
    ERROR_CHECK(fd, -1, "open");
    // 备份stdout文件对象
    int stdout_bak = 7;
    dup2(STDOUT_FILENO, stdout_bak);

    // 重定向标准输出到文件
    dup2(fd, STDOUT_FILENO);
    printf("我认真将心事都封存.\n");

    // 让标准输出回到终端
    dup2(stdout_bak, STDOUT_FILENO);
    printf("密密麻麻是我的自尊.\n");

    fflush(stdout);

    close(stdout_bak);
    close(fd);
    return 0;
}

